﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BussinessLayer;
using DataAccessLayer.Entity;
namespace QLTSLienThong.Form_he_thong
{
    public partial class frmDotTuyenSinh : Form
    {
        public frmDotTuyenSinh()
        {
            InitializeComponent();
        }
        DotTuyenSinhBussiness dotTSBussiness = new DotTuyenSinhBussiness();
        clsDotTuyenSinh clsDotTS;
        bool _KiemTraThem, KiemTraTonTaiMa=true;
        private void KhoaControl()
        {
            txtMaDotTS.ReadOnly = true;
            txtNamTS.ReadOnly = true;
            txtTenDotTS.ReadOnly = true;
            btnHuyDTS.SendToBack();
            btnLuuDTS.SendToBack();
        }

        private void MoControl()
        {
            txtMaDotTS.ReadOnly = false;
            txtNamTS.ReadOnly = false;
            txtTenDotTS.ReadOnly = false;
            btnHuyDTS.BringToFront();
            btnLuuDTS.BringToFront();
        }
        private void XoaDL()
        {
            txtTenDotTS.Clear();
            txtNamTS.Clear();
            txtMaDotTS.Clear();
        }
        private void LoadDotTS()
        {
            dtgDotTS.DataSource = dotTSBussiness.LoadDotTS();
            KhoaControl();
        }
        private void btnHuyDTS_Click(object sender, EventArgs e)
        {
            LoadDotTS();
        }

        private void btnLuuDTS_Click(object sender, EventArgs e)
        {
            if (KiemTraDL())
            {
                if (_KiemTraThem)
                {
                    clsDotTS = new clsDotTuyenSinh();
                    clsDotTS.MaDotTS = txtMaDotTS.Text.Trim();
                    clsDotTS.NamTuyenSinh = int.Parse(txtNamTS.Text.Trim());
                    clsDotTS.TenDotTuyenSinh = txtTenDotTS.Text.Trim();
                    dotTSBussiness.ThemDotTS(clsDotTS);
                    MessageBox.Show("Thêm thành công!","Thông báo");
                    LoadDotTS();
                }
                else
                {
                    clsDotTS = new clsDotTuyenSinh();
                    clsDotTS.MaDotTS = txtMaDotTS.Text.Trim();
                    clsDotTS.NamTuyenSinh = int.Parse(txtNamTS.Text.Trim());
                    clsDotTS.TenDotTuyenSinh = txtTenDotTS.Text.Trim();
                    dotTSBussiness.SuaDotTS(clsDotTS);
                    MessageBox.Show("Sửa thành công!", "Thông báo");
                    LoadDotTS();
                }
            }
        }

        private void btnThemDTS_Click(object sender, EventArgs e)
        {
            _KiemTraThem = true;
            MoControl();
            XoaDL();
        }

        private void btnSuaDTS_Click(object sender, EventArgs e)
        {
            _KiemTraThem = false;
            MoControl();
            txtMaDotTS.ReadOnly = true;          
        }

        private void btnXoaDTS_Click(object sender, EventArgs e)
        {
            XoaDotTS();
        }
        private void XoaDotTS()
        {
            clsDotTS = new clsDotTuyenSinh();
            clsDotTS.MaDotTS = txtMaDotTS.Text.Trim();
            if (MessageBox.Show("Bạn muốn xóa mã Đợt TS: " + txtMaDotTS.Text.Trim() + "?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                dotTSBussiness.XoaDotTS(clsDotTS);
                MessageBox.Show("Thêm thành công!", "Thông báo");
                LoadDotTS();
            }
        }
        private void frmDotTuyenSinh_Load(object sender, EventArgs e)
        {
            LoadDotTS();
        }

        private void txtNamTS_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
        object kq;
        private bool KiemTraDL()
        {
            if (txtMaDotTS.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập mã Đợt TS!","Thông báo");
                txtMaDotTS.Focus();
                return false;
            }
            if (_KiemTraThem == false)
            {
                if (txtMaDotTS.Text.Trim() == dtgDotTS.CurrentRow.Cells["MaDotTS"].Value.ToString())
                {
                    KiemTraTonTaiMa = false;
                }
            }
            if (KiemTraTonTaiMa == true)
            {
                clsDotTS = new clsDotTuyenSinh();
                clsDotTS.MaDotTS = txtMaDotTS.Text.Trim();
                kq = dotTSBussiness.KiemTraMa(clsDotTS);
                if (Convert.ToInt32(kq) > 0)
                {
                    MessageBox.Show("Mã này đã tồn tài!", "Thông báo!");
                    txtMaDotTS.Focus();
                    return false;
                }
            }
            if (txtNamTS.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập mã năm TS!", "Thông báo");
                txtNamTS.Focus();
                return false;
            }
            if (int.Parse(txtNamTS.Text.Trim()) < int.Parse(DateTime.Now.Year.ToString()))
            {
                MessageBox.Show("Năm tuyển sinh sai!!", "Thông báo");
                txtNamTS.Focus();
                return false;
            }
            if (txtTenDotTS.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập tên Đợt TS!", "Thông báo");
                txtTenDotTS.Focus();
                return false;
            }
            return true;
        }

        private void txtMaDotTS_Enter(object sender, EventArgs e)
        {
            txtNamTS.Text = DateTime.Now.Year.ToString();
        }
    }
}
